1+1[1] 2
Elodie Baril & Bénédicte Garnier
Institut national d’études démographiques (INED), F-93300 Aubervilliers, France
3 avril 2025
Nous montrons ici comment insérer du code r dans un document Quarto. Ce support contient des parties de texte (mis en forme), des images, et aussi des extraits de code R avec des résultats. Il permet à la fois de présenter un traitement statistique produit avec R : données, code, statistiques et d’afficher les commentaires. Cet usage est préconisé dans une démarche de recherche reproductible.
Le code est inséré dans des paragraphes appelés chunks.
Ceci permet d’exécuter le script par parties (pour chaque chunk) pour tester la syntaxe ou ajouter des commentaires au fur et à mesure de la rédaction.
Le document est généré avec le bouton Render
Les chunks sont delimités par la syntaxe suivante :
Pour indiquer plusieurs options, il est préférable de les paramétrer dans le chunk avant le code R. Par exemple :
L’option eval à fALSE n’exécute pas le code et echo à fALSE n’affiche pas le code dans le document.
Ces options peuvent également être indiquées dans le yaml et elles affecteront alors l’ensemble des chunks du document.
# .On utilise un extrait de l’Enquête “Histoire de vie - Construction des identités” : hdv2003 inclus dans le package questionr.
On charge le package questionr et le dataframe hdv2003. On liste les objets contenus dans ce dataframe avec la fonction str.
'data.frame': 2000 obs. of 20 variables:
$ id : int 1 2 3 4 5 6 7 8 9 10 ...
$ age : int 28 23 59 34 71 35 60 47 20 28 ...
$ sexe : Factor w/ 2 levels "Homme","Femme": 2 2 1 1 2 2 2 1 2 1 ...
$ nivetud : Factor w/ 8 levels "N'a jamais fait d'etudes",..: 8 NA 3 8 3 6 3 6 NA 7 ...
$ poids : num 2634 9738 3994 5732 4329 ...
$ occup : Factor w/ 7 levels "Exerce une profession",..: 1 3 1 1 4 1 6 1 3 1 ...
$ qualif : Factor w/ 7 levels "Ouvrier specialise",..: 6 NA 3 3 6 6 2 2 NA 7 ...
$ freres.soeurs: int 8 2 2 1 0 5 1 5 4 2 ...
$ clso : Factor w/ 3 levels "Oui","Non","Ne sait pas": 1 1 2 2 1 2 1 2 1 2 ...
$ relig : Factor w/ 6 levels "Pratiquant regulier",..: 4 4 4 3 1 4 3 4 3 2 ...
$ trav.imp : Factor w/ 4 levels "Le plus important",..: 4 NA 2 3 NA 1 NA 4 NA 3 ...
$ trav.satisf : Factor w/ 3 levels "Satisfaction",..: 2 NA 3 1 NA 3 NA 2 NA 1 ...
$ hard.rock : Factor w/ 2 levels "Non","Oui": 1 1 1 1 1 1 1 1 1 1 ...
$ lecture.bd : Factor w/ 2 levels "Non","Oui": 1 1 1 1 1 1 1 1 1 1 ...
$ peche.chasse : Factor w/ 2 levels "Non","Oui": 1 1 1 1 1 1 2 2 1 1 ...
$ cuisine : Factor w/ 2 levels "Non","Oui": 2 1 1 2 1 1 2 2 1 1 ...
$ bricol : Factor w/ 2 levels "Non","Oui": 1 1 1 2 1 1 1 2 1 1 ...
$ cinema : Factor w/ 2 levels "Non","Oui": 1 2 1 2 1 2 1 1 2 2 ...
$ sport : Factor w/ 2 levels "Non","Oui": 1 2 2 2 1 2 1 1 1 2 ...
$ heures.tv : num 0 1 0 2 3 2 2.9 1 2 2 ...
hdv2003 contient 20 variables, quasiement toutes de type Factor et 2000 observations.
On crée un tableau de contingence avec les variables trav.imp (Actuellement, diriez-vous que dans votre vie en général, votre travail est :) et sexe(sexe de la personne interrogée) avec la commande table du package questionr.
Homme Femme
Le plus important 13 16
Aussi important que le reste 159 100
Moins important que le reste 328 380
Peu important 20 32
Dans cet extrait de l’enquête, on dénombre 13 répondants de sexe masculin qui ont répondu que le travail est Le plus important et 32 enquêtées qui ont répondu que le travail était Peu important.
On peut calculer les pourcentages colonne avec la commande cprop (lprop pour claculer les pourcentages lignes).
Le package knitr permet de générer un script R qui portera le même nom que le document Quarto avec la commande purl.
On peut extraire le script R du document quarto en conservant les intitulés des chunks avec le package knitr.
On peut crée ainsi le fichier Presenter une analyse.R mais pour cet exemple, la commande n’est pas exécutée (option eval=false).